package com.ymatou.iapi.userservice.parameter.req;

import com.google.gson.annotations.SerializedName;
import com.ymatou.iapi.userservice.parameter.enums.AppSourceEnum;
import com.ymatou.iapi.userservice.parameter.enums.GenderEnum;
import com.ymatou.iapi.userservice.parameter.enums.TerminalSourceEnum;
import com.ymatou.iapi.userservice.parameter.enums.ThirdPartyTypeEnum;
import com.ymatou.iapi.userservice.parameter.enums.ChannelSourceEnum;

/**
 * 第三方用户（创建、绑定）请求类
 * Created by zhongwei on 2016/12/9.
 */
public class ThirdPartyUserReq extends BaseRequest {
    private static final long serialVersionUID = 7695848137330243577L;
    @SerializedName("rawThirdPartyName")
    private String rawThirdPartyName;
    
    public String getRawThirdPartyName() {
		return rawThirdPartyName;
	}

	public void setRawThirdPartyName(String rawThirdPartyName) {
		this.rawThirdPartyName = rawThirdPartyName;
	}

	/**
     * 用户Id
     */
    @SerializedName("UserId")
    private Integer userId;
   
    /**
     * 第三方用户类型
     */
    @SerializedName("ThirdPartyType")
    private ThirdPartyTypeEnum thirdPartyType;


    /**
     * 第三方用户 Id
     */
    @SerializedName("ThirdPartyId")
    private String thirdPartyId;

    /**
     * 第三方用户昵称
     */
    @SerializedName("ThirdPartyUserName")
    private String thirdPartyUserName;

    /**
     * 第三方用户 Token
     */
    @SerializedName("ThirdPartyToken")
    private String thirdPartyToken;

    /**
     * （应用）来源
     */
    @SerializedName("AppSource")
    private AppSourceEnum appSource;

    /**
     * 是否是老版本客户端
     */
    @SerializedName("IsOldAppVersion")
    private Boolean isOldAppVersion;

    /**
     * 登录手机
     */
    @SerializedName("Mobile")
    private String mobile;

    /**
     * 登录IP
     */
    @SerializedName("ClientIp")
    private String clientIp;

    /**
     * 微信 OpenId
     */
    @SerializedName("OpenId")
    private String openId;

    /**
     * 微信用户性别
     */
    @SerializedName("UserGender")
    private GenderEnum userGender;

    /**
     * 国家
     */
    @SerializedName("Country")
    private String country;

    /**
     * 省份
     */
    @SerializedName("Province")
    private String province;

    /**
     * 城市
     */
    @SerializedName("City")
    private String city;

    /**
     * 微信头像地址
     */
    @SerializedName("Headimgurl")
    private String headimgurl;


    /**
     * 阿里邮箱
     */
    @SerializedName("Mail")
    private String mail;

    /**
     * 阿里 信用积分
     */
    @SerializedName("Grade")
    private String grade;

    /**
     * 阿里 信用积分等级
     */
    @SerializedName("GradeType")
    private String gradeType;

    /**
     * 阿里 Gmt_Decay
     */
    @SerializedName("GmtDecay")
    private String gmtDecay;

    /**
     * 阿里 ThirdParty
     */
    @SerializedName("ThirdParty")
    private String thirdParty;

    /**
     * 微博Secret
     */
    @SerializedName("Secret")
    private String secret;

    /**
     * 终端来源
     */
    @SerializedName("TerminalSource")
    private TerminalSourceEnum terminalSource;
    
    /**
     * 渠道
     */
    @SerializedName("ChannelSource")
    private ChannelSourceEnum ChannelSource;
    
    public ChannelSourceEnum getChannelSource() {
		return ChannelSource;
	}

	public void setChannelSource(ChannelSourceEnum channelSource) {
		ChannelSource = channelSource;
	}
	
	/**
     * 逻辑设备号
     */
    @SerializedName("DeviceId")
    private String deviceId;

    /**
     * 物理设备号
     */
    @SerializedName("Equimentid")
    private String equimentid;

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public ThirdPartyTypeEnum getThirdPartyType() {
        return thirdPartyType;
    }

    public void setThirdPartyType(ThirdPartyTypeEnum thirdPartyType) {
        this.thirdPartyType = thirdPartyType;
    }

    public String getThirdPartyId() {
        return thirdPartyId;
    }

    public void setThirdPartyId(String thirdPartyId) {
        this.thirdPartyId = thirdPartyId;
    }

    public String getThirdPartyUserName() {
        return thirdPartyUserName;
    }

    public void setThirdPartyUserName(String thirdPartyUserName) {
        this.thirdPartyUserName = thirdPartyUserName;
    }

    public String getThirdPartyToken() {
        return thirdPartyToken;
    }

    public void setThirdPartyToken(String thirdPartyToken) {
        this.thirdPartyToken = thirdPartyToken;
    }

    public AppSourceEnum getAppSource() {
        return appSource;
    }

    public void setAppSource(AppSourceEnum appSource) {
        this.appSource = appSource;
    }

    public Boolean getOldAppVersion() {
        return isOldAppVersion;
    }

    public void setOldAppVersion(Boolean oldAppVersion) {
        isOldAppVersion = oldAppVersion;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    @Override
    public String getClientIp() {
        return clientIp;
    }

    @Override
    public void setClientIp(String clientIp) {
        this.clientIp = clientIp;
    }

    public String getOpenId() {
        return openId;
    }

    public void setOpenId(String openId) {
        this.openId = openId;
    }

    public GenderEnum getUserGender() {
        return userGender;
    }

    public void setUserGender(GenderEnum userGender) {
        this.userGender = userGender;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getHeadimgurl() {
        return headimgurl;
    }

    public void setHeadimgurl(String headimgurl) {
        this.headimgurl = headimgurl;
    }

    public String getMail() {
        return mail;
    }

    public void setMail(String mail) {
        this.mail = mail;
    }

    public String getGrade() {
        return grade;
    }

    public void setGrade(String grade) {
        this.grade = grade;
    }

    public String getGradeType() {
        return gradeType;
    }

    public void setGradeType(String gradeType) {
        this.gradeType = gradeType;
    }

    public String getGmtDecay() {
        return gmtDecay;
    }

    public void setGmtDecay(String gmtDecay) {
        this.gmtDecay = gmtDecay;
    }

    public String getThirdParty() {
        return thirdParty;
    }

    public void setThirdParty(String thirdParty) {
        this.thirdParty = thirdParty;
    }

    public String getSecret() {
        return secret;
    }

    public void setSecret(String secret) {
        this.secret = secret;
    }

    public TerminalSourceEnum getTerminalSource() {
        return terminalSource;
    }

    public void setTerminalSource(TerminalSourceEnum terminalSource) {
        this.terminalSource = terminalSource;
    }

    public String getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }

    public String getEquimentid() {
        return equimentid;
    }

    public void setEquimentid(String equimentid) {
        this.equimentid = equimentid;
    }
}
